home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / a_utils / perl / prlbkxmp.lha / ch2 / queue < prev    next >
Text File  |  1991-01-07  |  695b  |  32 lines

  1. #!/usr/bin/perl
  2.  
  3. sub add_entry {
  4.     package Priority_Queue;
  5.     ($priority,$message) = @_;
  6.     for ($i = 0; $i <= $#queue; $i++) {
  7.     last if $queue[$i] < $priority;
  8.     }
  9.     splice(@queue, $i, 0, "$priority;$message");
  10. }
  11.  
  12. sub next_entry {
  13.     package Priority_Queue;
  14.     if (@queue) {
  15.     $message = shift(@queue);
  16.     split(/;/, $message, 2);   # return (priority, message)
  17.     }
  18.     else {
  19.     ();                        # return null list
  20.     }
  21. }
  22.  
  23. &add_entry(23,"Shear the sheep");
  24. &add_entry(86,"Bathe the camels");
  25. &add_entry(51,"Write my memoirs");
  26. &add_entry(77,"Hack on begat s'more");
  27.  
  28. print "Your jobs:\n";
  29. while (($priority, $message) = &next_entry) {
  30.     print ++$i, '. ', $message, "\n";
  31. }
  32.